package com.freak.neteasecloudmusic.modules.find.recommend.songlist.detail.comment.entity;

import com.chad.library.adapter.base.entity.MultiItemEntity;
import com.freak.neteasecloudmusic.modules.find.recommend.songlist.detail.comment.adapter.CommentAdapter;

import java.util.List;


/**
 * Created by Freak on 2020/3/7.
 */
public class CommentsEntity implements MultiItemEntity {


    private UserEntity user;
    private Object pendantData;
    private Object showFloorComment;
    private int status;
    private long commentId;
    private String content;
    private long time;
    private int likedCount;
    private Object expressionUrl;
    private int commentLocationType;
    private long parentCommentId;
    private DecorationBeanX decoration;
    private Object repliedMark;
    private boolean liked;
    //已回复
    private List<BeRepliedBean> beReplied;

    public UserEntity getUser() {
        return user;
    }

    public void setUser(UserEntity user) {
        this.user = user;
    }

    public Object getPendantData() {
        return pendantData;
    }

    public void setPendantData(Object pendantData) {
        this.pendantData = pendantData;
    }

    public Object getShowFloorComment() {
        return showFloorComment;
    }

    public void setShowFloorComment(Object showFloorComment) {
        this.showFloorComment = showFloorComment;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public long getCommentId() {
        return commentId;
    }

    public void setCommentId(long commentId) {
        this.commentId = commentId;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public long getTime() {
        return time;
    }

    public void setTime(long time) {
        this.time = time;
    }

    public int getLikedCount() {
        return likedCount;
    }

    public void setLikedCount(int likedCount) {
        this.likedCount = likedCount;
    }

    public Object getExpressionUrl() {
        return expressionUrl;
    }

    public void setExpressionUrl(Object expressionUrl) {
        this.expressionUrl = expressionUrl;
    }

    public int getCommentLocationType() {
        return commentLocationType;
    }

    public void setCommentLocationType(int commentLocationType) {
        this.commentLocationType = commentLocationType;
    }

    public long getParentCommentId() {
        return parentCommentId;
    }

    public void setParentCommentId(long parentCommentId) {
        this.parentCommentId = parentCommentId;
    }

    public DecorationBeanX getDecoration() {
        return decoration;
    }

    public void setDecoration(DecorationBeanX decoration) {
        this.decoration = decoration;
    }

    public Object getRepliedMark() {
        return repliedMark;
    }

    public void setRepliedMark(Object repliedMark) {
        this.repliedMark = repliedMark;
    }

    public boolean isLiked() {
        return liked;
    }

    public void setLiked(boolean liked) {
        this.liked = liked;
    }

    public List<BeRepliedBean> getBeReplied() {
        return beReplied;
    }

    public void setBeReplied(List<BeRepliedBean> beReplied) {
        this.beReplied = beReplied;
    }

    @Override
    public int getItemType() {
        return CommentAdapter.COMMENT_ITEM;
    }


    public static class DecorationBeanX {
        private int repliedByAuthorCount;

        public int getRepliedByAuthorCount() {
            return repliedByAuthorCount;
        }

        public void setRepliedByAuthorCount(int repliedByAuthorCount) {
            this.repliedByAuthorCount = repliedByAuthorCount;
        }
    }

    public static class BeRepliedBean {


        private UserEntity user;
        private long beRepliedCommentId;
        private String content;
        private int status;
        private Object expressionUrl;

        public UserEntity getUser() {
            return user;
        }

        public void setUser(UserEntity user) {
            this.user = user;
        }

        public long getBeRepliedCommentId() {
            return beRepliedCommentId;
        }

        public void setBeRepliedCommentId(long beRepliedCommentId) {
            this.beRepliedCommentId = beRepliedCommentId;
        }

        public String getContent() {
            return content;
        }

        public void setContent(String content) {
            this.content = content;
        }

        public int getStatus() {
            return status;
        }

        public void setStatus(int status) {
            this.status = status;
        }

        public Object getExpressionUrl() {
            return expressionUrl;
        }

        public void setExpressionUrl(Object expressionUrl) {
            this.expressionUrl = expressionUrl;
        }

        @Override
        public String toString() {
            return "BeRepliedBean{" +
                    "user=" + user +
                    ", beRepliedCommentId=" + beRepliedCommentId +
                    ", content='" + content + '\'' +
                    ", status=" + status +
                    ", expressionUrl=" + expressionUrl +
                    '}';
        }
    }

    @Override
    public String toString() {
        return "CommentsBean{" +
                "user=" + user +
                ", pendantData=" + pendantData +
                ", showFloorComment=" + showFloorComment +
                ", status=" + status +
                ", commentId=" + commentId +
                ", content='" + content + '\'' +
                ", time=" + time +
                ", likedCount=" + likedCount +
                ", expressionUrl=" + expressionUrl +
                ", commentLocationType=" + commentLocationType +
                ", parentCommentId=" + parentCommentId +
                ", decoration=" + decoration +
                ", repliedMark=" + repliedMark +
                ", liked=" + liked +
                ", beReplied=" + beReplied +
                '}';
    }
}
